home *** CD-ROM | disk | FTP | other *** search
- ==============================================================================
- 式計算ユーティリティ Version 1.00a
-
- for all MS-DOS Machines
-
- Copyleft 1994 Delmonta
- ==============================================================================
-
-
- 第1章 はじめに
-
- 本ツールは、キーボードから入力した式を計算するものです。 C言語にほぼ準拠した
- (ただし、かなり変更も加えています)種々の演算子や、変数も使用可能です。
- 本ツールは、 そもそも拙作ソフト「VenusScript」[*1]の一部として作られました。
- 従って、本ツールの仕様はVenusScriptの数式機能と完全な互換性があります。
-
- note:
-
- [*1] 旺文社・富士通主催「'95パソコンソフトコンテスト」入賞作品。 このマニュア
- ルを書いている時点では未公開。
-
-
- 第2章 基本操作
-
- 2.1 動作環境
-
- 本ツールは、MS-DOS Ver2.1以上が動作するすべてのコンピュータで動作します。 動
- 作確認は、次の機種で行いました。
-
- o 富士通 FM TOWNS II HR100 + FMT-KB107 + 日本語MS-DOS Ver5.0 L22
- o NEC PC-9821Ce/S2 + 日本語MS-DOS Ver5.0A-H
-
- 2.2 起動と簡単な式の入力
-
- 本ツールの起動には、MS-DOSのコマンドラインから次のように入力します。
-
- expr<改行>
-
- プロンプト「>」が表示されますので、 式を入力し、<改行>キーを押してください。
- 計算結果が表示されます。
-
- (例) 3+4*5
-
- 表示:23
-
- 終了したい場合は、プロンプトが出ている段階で改行のみを入力してください。
-
- 2.3 16進数の利用
-
- 本ソフトでは、 数の先頭に「0x」をつけると、 16進数として扱われます。 なお、
- 「0123」のように0から始まる場合でも、8進数ではありませんので注意してください。
-
- 2.4 変数
-
- 本ソフトでは、変数を使用することができます。変数名は、 英字のあとに0個以上の
- 英数字のついたものです。 なお、アンダーバー('_')は英字と同等に扱います。また、
- 英字の大文字と小文字は区別されません。
- 変数に値を代入するには、「=」という演算子を使います。
-
- (例)
-
- 入力: a=3
- 表示: 3
- 入力: a/4
- 表示: 0.75
-
- 代入式の後に表示された「3」は、変数aに代入された値を示しています。詳細は次章
- を参照してください。
- なお、値を設定していない変数を参照した場合は、その値は0とみなされます。
-
-
- 第3章 演算子の種類と優先順位
-
- 式で使用できる演算子は、ほぼC言語に準拠しています。しかし、一部にC言語以外か
- ら借用したものや、C言語と微妙に動作の違うものがあります。
-
- 3.1 括弧
-
- 演算子の優先順位を強制的に変えたい場合は、'('と')'を使います。重ねて使うこと
- もできます。
-
- 3.2 四則演算と余り
-
- +と-は、加減算を表します。*は乗算を、/は除算を表します。
- a%b は、aをbで割った余りを表します。aとbの片方または両方が負の場合は、結果の
- 符号はaの符号と一致します。
-
- 3.3 符号
-
- +、-は、正負の符号を表します。
- +や-は、文脈によって、3.2の加減算の意味にもなります。
-
- 3.4 累乗
-
- a**b は、aのb乗を表します。bは任意の実数であってかまいません。
- a=0のときはb>0、a<0のときはbは整数でなければいけません。
- **は符号より優先順位が高いので注意してください。例えば、 -3の6乗を求めたい場
- 合は、(-3)**6 とする必要があります。-3**6 とした場合は、-(3**6) と解釈されてし
- まいます。
-
- [注意]
-
- **は、Fortran言語に由来しています。BASIC風に a^b と書くことはできません(別の意
- 味になります)。
-
- 3.5 比較
-
- 比較演算子は、左辺と右辺を比較して、それが真ならば1に、偽なら0になります。比
- 較演算子には、つぎのものがあります。
-
- +-------------------------------+
- | a>b |aがbより大きい |
- |-----+-------------------------|
- | a<b |aがbより小さい |
- |-----+-------------------------|
- | a>=b|aがb以上 |
- |-----+-------------------------|
- | a<=b|aがb以下 |
- |-----+-------------------------|
- | a==b|aとbが等しい |
- |-----+-------------------------|
- | a!=b|aとbとが等しくない |
- +-------------------------------+
-
- [注意]
-
- >=を=>、<=を=<と書くことはできません。また、aとbの相等は a==b であって、a=b で
- はありません。後者はbをaに代入する意味になります。
-
- 3.6 シフト
-
- a<<b はaをbビット左にシフトします。a*2**b と等価です。
- a>>b はaをbビット右にシフトします。a*2**-b と等価です。
-
- 3.7 否定
-
- !a は、a=0なら1に、a≠0なら0になります。
- ~a は、aをビットごとに反転します。つまり、aを2進法で表記して、各桁について0
- なら1に、1なら0にします。
-
- 3.8 論理積・論理和・排他的論理和
-
- a&&b は、a≠0かつb≠0のとき1に、それ以外のとき0になります。a||b は、a≠0また
- はb≠0のとき1に、それ以外のとき0になります。
- a&b は、aとbのビットごとの論理積をとります。a|b は、aとbのビットごとの論理和
- をとります。これらと&&、||との違いに注意してください。
- a^b は、 aとbのビットごとの排他的論理和をとります。 累乗の意味ではありません
- (→3.4 )。
-
- 3.9 変数と代入
-
- 式には、 変数を使用することができます。変数名は英字または'_'ではじまります。
- その後に英数字や'_'がついてもかまいません。
- 変数に値を代入するには、=という演算子を使います。 a=bで、 変数aに式bの値がコ
- ピーされます。
- また、 a=b という式の「値」は、 結果的にaに代入された値です。従って、例えば
- (a=4)+3 とするのは、先に a=4 としてから a+3 とするのと同じで、 値は7になりま
- す。
- C言語のa+=bのような構文は使用できません。
-
- [注意]
-
- a=b は、aとbとの相等を表すわけではありません。
-
- 3.10 演算子の優先順位
-
- すべての演算子の優先順位の表を、次に示します。下にいくほど優先順位が低くなり
- ます。
- 結合順序の項目で「単項」とは、 符号のようにただ1つの被演算数を要求するもの
- で、○を演算子とすると、○aのような構文をとるものです。○☆aとした場合は、○と
- ☆の優先順位の大小に関わらず ○(☆a) と解釈されます。
- 「左結合」とは、a○b○c という式があった場合に、(a○b)○c と解釈されるものの
- ことです。四則演算などがこれにあたります。
- 「右結合」とは、a○b○c という式があった場合に、a○(b○c) と解釈されるものの
- ことです。累乗と代入がこれにあたります。
-
- +---------------------------+
- | 演算子 |結合順序|
- |------------------+--------|
- | ( ) | --- |
- |------------------+--------|
- | ! ~ | 単項 |
- |------------------+--------|
- | ** | 右結合 |
- |------------------+--------|
- | + -(符号) | 単項 |
- |------------------+--------|
- | * / % | 左結合 |
- |------------------+--------|
- | << >> | 左結合 |
- |------------------+--------|
- | + -(加減算) | 左結合 |
- |------------------+--------|
- | & | ^ | 左結合 |
- |------------------+--------|
- | < > <= >= == != | 左結合 |
- |------------------+--------|
- | = | 右結合 |
- |------------------+--------|
- | && || | 左結合 |
- +---------------------------+
-
- 3.11 C言語との違い
-
- o <、>、<=、>=と==、!=の優先順位は同等です。
- o 比較(==、!=、<、>、<=、>=)の優先順位は、ビット演算(&、|、^)より低くなっ
- ています。
- o 代入(=)の優先順位は、2値演算(&&、||)より高くなっています。
- o 2値演算(&&、||)は、左の値だけで結果が決まってしまう場合でも、右の式を評
- 価します。例えば、a && (b=2) の場合、たとえaが0であってもbには2が代入さ
- れます。
-
-
- 追記 A 最後に
-
- A.1 パッケージの内容
-
- 本ソフトのオリジナルパッケージには、次のファイルが含まれています。
-
- +-------------------------------------------------+
- |EXPR.EXE|実行プログラム |
- |--------+----------------------------------------|
- |EXPR.DOC|ドキュメント(このファイル) |
- |--------+----------------------------------------|
- |EXPR.C |ソースプログラム |
- +-------------------------------------------------+
-
- A.2 著作権等について
-
- 作者(Delmontaこと飯嶋浩光)は、 本ソフトについての著作者人格権ならびに著作権
- (著作者財産権)を保有しますが、著作権の行使については保留します。すなわち、利用
- 者は営利利用の場合を含め、本ソフトを自由に使用することができます。
- また、 本ソフトのソースプログラムは、 自由に他のソフトに組み込んでかまいませ
- ん。 また、 その場合、たとえ営利利用の場合であっても、連絡等は特に必要ありませ
- ん。
-
- A.3 連絡先
-
- 本ソフトについてのご意見、ご感想は次の宛先までお願いします。
-
- 314 茨城県鹿島郡鹿島町鉢形台3-9-13
- 飯嶋 浩光
-
-